package com.aiti.lulian.gxmh.service;


import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.page.PageResult;
import com.aiti.framework.commons.dictmodel.entity.SysDictData;
import com.aiti.lulian.gxmh.dto.GxmhArticleParamDto;
import com.aiti.lulian.gxmh.dto.GxmhArticleQueryParamDto;
import com.aiti.lulian.gxmh.dto.GxmhPolicyDeclareQueryDto;
import com.aiti.lulian.gxmh.entity.GovArticle;
import com.aiti.lulian.gxmh.excel.GxmhExcelArticleParamDto;
import com.aiti.lulian.gxmh.excel.GxmhExportArticleVo;
import com.aiti.lulian.gxmh.vo.GxmhArticleVo;
import com.aiti.lulian.gxmh.vo.GxmhFormDeclareVo;
import com.aiti.lulian.gxmh.vo.GxmhPolicyDeclareListItemVo;
import com.aiti.lulian.gxmh.vo.GxmhUserAreaVo;

import java.util.List;

public interface GovArticleManageService extends BaseService<GovArticle> {

    void saveArticle(GxmhArticleParamDto dto, String loginId);

    void updateArticle(GxmhArticleParamDto dto, String loginId) ;

    GxmhArticleVo queryArticleByBaseId (String baseId);

    void removeByBaseIdList(List<String> baseIdList);

    PageResult<GxmhArticleVo> queryArticleList(GxmhArticleQueryParamDto queryDto, String loginId);

    List<GxmhExportArticleVo> getAllData(GxmhArticleQueryParamDto queryDto, String loginId);

    GxmhUserAreaVo queryUserArea(String loginId);

    List<SysDictData> queryPolicyTypeList();

    PageResult<GxmhPolicyDeclareListItemVo>  queryPolicyDeclareList(GxmhPolicyDeclareQueryDto queryDto, String loginId);

    PageResult<GxmhFormDeclareVo> queryFormDeclareList(GxmhPolicyDeclareQueryDto queryDto, String loginId);

    void removePolicyDeclareByBaseIdList(List<String> baseIdList);

    List<GxmhPolicyDeclareListItemVo> getPolicyDeclareList(GxmhPolicyDeclareQueryDto queryDto, String loginId);
}
